/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package fase2.pt.iul.sid.database;

import fase2.pt.iul.sid.model.UtilizadorModel;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;

/**
 *
 * @author Ricardo Marques
 */
public class UtilizadorDAO {
    
    private FactoryConnection fc = null;
    
    public UtilizadorDAO(FactoryConnection fc){
       
        this.fc = fc;

    }
   
    public UtilizadorModel getDadosUtilizador(String email_utilizador) {
       
        UtilizadorModel user = null;

        int resultsetType =0;
        ConnectionHandler ch = new ConnectionHandler();
                
        try {
            fc.returnResultSetSelectStatement("SELECT * FROM Utilizador WHERE email='" + email_utilizador + "' ", resultsetType, ch);

            if(ch.r!=null){
                if(ch.r.next()){
                    
                    user = new UtilizadorModel(email_utilizador, ch.r.getString("Nome"), ch.r.getString("Escola"), null);
                    
                }
            }
            
        } catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
        
        return user;
      
    }
    
    public List<UtilizadorModel> getUtilizadores() {
       
        List<UtilizadorModel> users = new LinkedList<UtilizadorModel>();

        int resultsetType =0;
        ConnectionHandler ch = new ConnectionHandler();
                
        try {
            fc.returnResultSetSelectStatement("SELECT * FROM Utilizador", resultsetType, ch);

            if(ch.r!=null){
                               
                users.add(new UtilizadorModel("", "Todos", "", ""));
                
                while(ch.r.next()){
                    
                    UtilizadorModel user = new UtilizadorModel(ch.r.getString("email"), ch.r.getString("Nome"), ch.r.getString("Escola"), null);
                    users.add(user);
                    
                }
            }
            
        } catch (SQLException e) {
            e.printStackTrace();
        }
        
        return users;
      
   }
   
}
